This invention relates to a disk control unit with built-in cache and to a method of performing a fault handling process for the same. Particularly, the invention relates to a method of fault handling process for the cache memory of a disk control unit which operates to cache write-data to be stored on a disk drive from a host computer and stores the cached data on the disk in batch and asynchronously with the disk write operation of the host computer.
A capacious auxiliary memory unit, such as a magnetic disk unit, stores a large quantity of data in one volume. On this account, the number of times of access to a volume per unit time length increases and there is an increasing trend of access concentration to one volume.
A magnetic disk has an access time of the order of several tens milliseconds, which is incomparably longer than the operation time of CPU or the access time of main memory that are of the order of several hundreds nanoseconds, resulting in a degraded efficiency of process of the whole system.
A disk cache system, which is intended to overcome this problem, includes a semiconductor memory (will be termed "cache memory" hereinafter) within the disk control unit, and only data of frequent access is taken out of a magnetic disk drive and stored in the cache memory so that the data in the cache memory is accessed with small overhead thereby to enhance the system performance.
Specifically, a disk control unit with built-in cache has a copy of frequently accessed tracks in its cache memory and when the track is accessed it reads pertinent data out of the cache memory instead of making access to the physical track of the disk, thereby enhancing the data access speed. In consequence, the system response and throughput can be improved without interfering with the program and data organization.
In addition, a disk control unit with inbuilt cache has a function of fault detection for the cache memory.
A conventional disk control unit with inbuilt cache, upon detecting a cache fault, disconnects the whole cache memory, with entire data stored in the cache memory being abandoned, as described in Japanese Patent Unexamined Publication No. 60-79447. The method of cache fault process described in the patent publication 60-79447 is designed to store the same data as on the disk drive in the cache memory and it is useful for a system which makes access to the cache memory only for reading. However, a system which makes access to the cache memory also for writing can not use this method.
Namely, a disk control unit with built-in cache, in which write data from the host computer is held temporarily in the cache memory so that it is stacked as a non-reflective track data which is not consistent with data on the disk drive, instead of being written directly to the disk drive and the non-reflective track data track in the cache memory is written to the disk drive in batch and asynchronously with the disk write operation for the host computer, can not discard data in the cache memory.
On this account, the disk control unit which bases the write operation on the cache memory makes a backup of the cache memory thereby to duplicate the non-reflective track data for safety before writing the non-reflective track data to the disk drive. And, in the event of a fault in the cache memory or backup memory, the non-reflective track data surviving in the normal memory is written to the disk drive.
The write operation for the non-reflective track uses the disk drive exclusively. However, the exclusive use of the disk drive until all non-reflective track data in the cache memory or its backup memory are written to the physical tracks of the disk drive causes the disk read/write request from a high-ranking system to be placed in a long wait status, and this is a serious problem from the viewpoint of operationability of the disk subsystem.